import 'package:flutter/material.dart';

/// @date 2020/08/05  15:10
/// @author 程志强
/// @des 内部管理选中状态的复选框组件

class DialogCheckbox extends StatefulWidget {
  final ValueChanged<bool> onChanged;
  final bool value;

  DialogCheckbox({@required this.onChanged, this.value});

  @override
  _DialogCheckboxState createState() => _DialogCheckboxState();
}

class _DialogCheckboxState extends State<DialogCheckbox> {
  bool value;

  @override
  void initState() {
    value = widget.value;
    super.initState();
  }

  @override
  Widget build(BuildContext context) {
    return Checkbox(
        value: value,
        // 将选中状态通过时间的形式抛出
        onChanged: (v) {
          widget.onChanged(v);
          setState(() {
            // 更新自身选中状态
            value = v;
          });
        });
  }
}
